import book.BookList;
import user.AdminUser;
import user.NormaUser;
import user.User;

import java.util.Scanner;

public class Main {
    //可以利用返回值的向上转型达到返回的一致性
    public static User login(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的姓名：");
        String name = scanner.nextLine();
        System.out.println("请输入你的身份：1->管理员  0->普通用户");
        int choice = scanner.nextInt();
        if(choice == 1){
            AdminUser adminUser = new AdminUser(name);
            return adminUser;
        }else {
            NormaUser normaUser = new NormaUser(name);
            return normaUser;
        }
    }
    public static void main(String[] args) {

        BookList bookList = new BookList();

        User user = login();
        while (true){
            int choice = user.menu();
            //user是哪个对象？choice是几？---》能够确定：我能够操作哪个对象的哪个方法？
            //通过这两个变量可以确定了，但是怎么联系起来？
            //1.先让双方存好对应自己的操作
            //2.就是调用对应的操作！
            user.doOperation(choice,bookList);
            /*System.out.println(choice);
            System.out.println(user);*/
        }


    }
}